AWS ParallelCluster 3.0.1 の更新内容とUbuntu固有のエラーが解消されたので確認してみた
AWS ParallelCluster 3.0.1がリリースされました。v3.0.0からのマイクロアップデートです。v3.0.0で悩まされたエラーが修正されたので動作確認を交えてアップデート内容を紹介します。
個人的な注目ポイント
アップデート詳細は以下のリンクをご確認ください。
機能強化
pcluster3-config-converter
コマンド追加により、ParallelCluster 2系から3系へコンフィグファイルの変換が可能に!- ParallelCluster 2.x時代のコンフィグをv3.xでは利用できなかったのでありがたい機能追加
pcluster
コマンド操作に--region
引数が必須だったのですが、~/.aws/config
を参照するようになり省略可能に!- ParallelCluster 2系では
--region
を省略できたのに3.0.0
では必須でした
- ParallelCluster 2系では
変更点
SysVinit
サポート終了、Systemd
のみサポート
バグフィックス
- 以前ワークアラウンドを紹介したエラーが修正されました。これは嬉しい。
クラスターを作成して動作確認
エラーが修正されたとのことで以前と同じコンフィグを使ってParallelCluster 3.0.1版のクラスターを作成してみます。
項目 | 値 |
---|---|
AWS ParallelCluster | 3.0.1 |
Job Scheduler | Slurm |
OS | Ubuntu 20.04 LTS |
CPU | AMD |
Head Node | c5a.large |
Compute Node | c5a.4xlarge(16vCPU) |
pclusterコマンドの準備
venv
でバージョン管理しつつ、pcluster
コマンドの最新バージョンをインストールします。fish
シェルを使っているためactivateの拡張子が.fish
になっています。
python3 -m venv pclusterVersion/301 source ~/pclusterVersion/301/bin/activate.fish pip3 install aws-parallelcluster
pcluster version
{ "version": "3.0.1" }
コンフィグファイル
以前と同じコンフィグからクラスターを作成します。
Region: ap-northeast-1 Image: Os: ubuntu2004 HeadNode: InstanceType: c5a.large Networking: ElasticIp: false SubnetId: subnet-035be95eeaa091603 Ssh: KeyName: sandbox-key LocalStorage: RootVolume: Size: 50 Encrypted: false VolumeType: gp3 Iops: 3000 Throughput: 125 Iam: S3Access: - BucketName: blog-parallelcluster-postinstall EnableWriteAccess: False AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore Scheduling: Scheduler: slurm SlurmQueues: - Name: cpu-spot ComputeResources: - Name: c5a4xlarge InstanceType: c5a.4xlarge MinCount: 0 MaxCount: 20 ComputeSettings: LocalStorage: RootVolume: Size: 35 Encrypted: false VolumeType: gp3 Iops: 3000 Throughput: 125 CapacityType: SPOT Networking: SubnetIds: - subnet-035be95eeaa091603 PlacementGroup: Enabled: true Iam: S3Access: - BucketName: blog-parallelcluster-postinstall KeyName: read_only/ EnableWriteAccess: False AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore - Name: high-cpu-spot ComputeResources: - Name: c5a24xlarge InstanceType: c5a.24xlarge MinCount: 0 MaxCount: 10 ComputeSettings: LocalStorage: RootVolume: Size: 35 Encrypted: false VolumeType: gp3 Iops: 3000 Throughput: 125 CapacityType: SPOT Networking: SubnetIds: - subnet-035be95eeaa091603 PlacementGroup: Enabled: true Iam: S3Access: - BucketName: blog-parallelcluster-postinstall KeyName: read_only/ EnableWriteAccess: False AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
クラスター作成
クラスターを作成します。コマンド流用したので--region
引数を省略せずに付けてしまいました。
> pcluster create-cluster --cluster-name openfoam-amd-cluster301 --region ap-northeast-1 --cluster-configuration openfoam-amd.yml
作成されたクラスターを確認します。list-cluster
オプションには--region
引数なしで実行してみました。3.0.1版のクラスターが完成しています。
> pcluster list-clusters { "clusters": [ { "clusterName": "openfoam-amd-cluster301", "cloudformationStackStatus": "CREATE_COMPLETE", "cloudformationStackArn": "arn:aws:cloudformation:ap-northeast-1:123456789012:stack/openfoam-amd-cluster301/4b4708c0-3784-11ec-850d-0ad518499f05", "region": "ap-northeast-1", "version": "3.0.1", "clusterStatus": "CREATE_COMPLETE" } ] }
3.0.0ではUbuntu 18.04と、20.04のヘッドノードの場合、停止開始または再起動すると必要なサービスが起動しない不具合を抱えていました。ですので、ヘッドノードを一度停止開始しました。
再起動後のヘッドノードに接続して確認します。supervisord.service
がactive(running)で起動しています。不具合の内容はこのサービスが起動してこないことでした。
$ systemctl status supervisord.service ● supervisord.service - Supervisor process control system for UNIX Loaded: loaded (/etc/systemd/system/supervisord.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-10-30 04:15:15 UTC; 35min ago Docs: http://supervisord.org Main PID: 574 (supervisord) Tasks: 4 (limit: 4631) Memory: 91.9M CGroup: /system.slice/supervisord.service ├─574 /opt/parallelcluster/pyenv/versions/3.7.10/envs/cookbook_virtualenv/bin/python3.7 /opt/parallelcluster/pyenv> ├─925 /opt/parallelcluster/pyenv/versions/3.7.10/envs/node_virtualenv/bin/python3.7 /opt/parallelcluster/pyenv/ver> └─941 /opt/parallelcluster/pyenv/versions/3.7.10/envs/cookbook_virtualenv/bin/python /opt/parallelcluster/pyenv/ve>
不具合が修正されていることを確認できました。
アップデートに関連する動作確認結果
- 以下のエラーの件は修正され、Ubuntuユーザも気にせずクラスターを使えるようになった。
--region
引数を省略してもコマンドが実行できることを確認しました。ParallelCluster 2系の癖でよく引数つけ忘れていたので助かりました。
おわりに
UbuntuユーザはぜひParallelCluster 3.0.1をご利用または、3.0.0からの乗り換えをご検討ください。 v3.0.0でUbuntuが使えないわけではありませんが、ワークアラウンド用の追加設定が不要ですので最新の3.0.1を是非!
新機能のpcluster3-config-converter
コマンドは試すと長くなりそうですので別の機会に試して紹介したいと思います。